Debugging Program Loops Using Approximate Modeling
نویسندگان
چکیده
Developing model-based automatic debugging strategies has been an active research area for several years. We analyze shortcomings of previous modeling approaches when dealing with objectoriented languages and present a revised modeling approach. We employ Abstract Interpretation, a technique borrowed from program analysis, to improve the debugging of programs including loops, recursive procedures, and heap data structures. Together with heuristic model refinement, our approach delivers superior results than the previous models. The principle of our approach is demonstrated on a set of examples.
منابع مشابه
Approximate Modeling for Debugging of Program Loops
Developing model-based automatic debugging strategies has been an active research area for several years. We analyze shortcomings of previous modeling approaches when dealing with objectoriented languages and present a revised modeling approach. We employ Abstract Interpretation, a technique borrowed from program analysis, to improve the debugging of programs including loops, recursive procedur...
متن کاملDebugging Inconsistent Answer Set Programs
In this paper we examine how we can find contradictions from Answer Set Programs (ASP). One of the most important phases of programming is debugging, finding errors that have crept in during program implementation. Current ASP systems are still mostly experimental tools and their support for debugging is limited. This paper addresses one part of ASP debugging, finding the reason why a program d...
متن کاملUsing Semantic Approximations in Validation and Diagnosis of Constraint Logic Programs
During program development and debugging, several tools may be used which deal with (approximations of the) program semantics in one way or the other. Examples of such tools are automatic validation tools, declarative debuggers, program analyzers, etc. These tools also have in common that the semantics of the current program and the semantics of the intended program are often compared. In this ...
متن کاملEnhancing Declarative Debugging with Loop Expansion and Tree Compression
Declarative debugging is a semi-automatic debugging technique that allows the programer to debug a program without the need to see the source code. The debugger generates questions about the results obtained in different computations and the programmer only has to answer them to find the bug. Declarative debugging uses an internal representation of programs called execution tree, whose structur...
متن کاملA Debugging Scheme for Declarative Equation Based Modeling Languages
This paper concerns the static analysis for debugging purposes of programs written in declarative equation based modeling languages. We first give an introduction to declarative equation based languages and the consequences equation based programming has for debugging. At the same time, we examine the particular debugging problems posed by Modelica, a declarative equation based modeling languag...
متن کامل